home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Gamer (Italian) 30
/
PC Gamer IT CD 30 1-2.iso
/
MOTS
/
GAMEDATA
/
RESOURCE
/
JKMRES.GOO
/
cog_pow_dstrifle_m.cog
< prev
next >
Wrap
Text File
|
1998-02-25
|
4KB
|
141 lines
# Jedi Knight Cog Script
#
# POW_STRIFLE.COG
#
# POWERUP Script - Dropped Stormtrooper Rifle pickup
#
# [YB & CYW & CR]
#
# (C) 1997 LucasArts Entertainment Co. All Rights Reserved
symbols
thing powerup local
thing player local
int bin=3 local
int ammobin=11 local
sound pickupsnd=thrmlpu2.wav local
sound respawnsnd=Activate01.wav local
flex amount local
int bin_contents=0 local
int autopickup=0 local
int autoselect_weapon=-1 local
message touched
message taken
message respawn
end
# ========================================================================================
code
touched:
player = GetSourceRef();
if (GetThingType(player) == 10) // Can only be taken by players.
{
if(IsMulti() || (GetInv(player, bin) == 0) || (GetInv(player, ammobin) < GetInvMax(player, ammobin)))
{
TakeItem(GetSenderRef(), -1);
call taken;
}
}
Return;
# ........................................................................................
taken:
player = GetSourceRef();
powerup = GetSenderRef();
// Do effects.
PlaySoundLocal(pickupsnd, 1, 0, 0);
AddDynamicTint(player, 0.0, 0.0, 0.2);
if(GetInv(player, bin) == 0)
{
// Pickup gun and ammo.
// Print("Stormtrooper Rifle");
jkPrintUNIString(player, bin);
ChangeInv(player, bin, 1.0);
// store the old bin contents
bin_contents = GetInv(player, ammobin);
ChangeInv(player, ammobin, 12.0);
// Check for Auto Pickup
autopickup = GetAutoPickup();
if(autopickup & 1)
{
if(!((autopickup & 4) && (GetWeaponPriority(player, GetWeaponBin(GetCurWeapon(player)), 0) >= GetWeaponPriority(player, bin, 0))))
{
if(!((autopickup & 8) && (GetWeaponBin(GetCurWeapon(player)) == jkGetMultiParam(1))))
{
SelectWeapon(player, bin);
Return;
}
}
}
// Check for Auto Reload
if(GetAutoReload() & 1)
{
if(!bin_contents)
{
if(!((GetAutoReload() & 2) && (GetWeaponBin(GetCurWeapon(player)) == jkGetMultiParam(1))))
{
// Try to autoselect and see if the best weapon is an energy cell weapon
autoselect_weapon = AutoSelectWeapon(player, 2);
if((autoselect_weapon == 2) || (autoselect_weapon == 3) || (autoselect_weapon == 12) || (autoselect_weapon == 13))
SelectWeapon(player, autoselect_weapon);
}
}
}
}
else
if(GetInv(player, ammobin) < GetInvMax(player, ammobin))
{
// Pickup ammo only.
// Print("Energy Cells");
jkPrintUNIString(player, ammobin);
// store the old bin contents
bin_contents = GetInv(player, ammobin);
ChangeInv(player, ammobin, 12.0);
// Check for Auto Reload
if(GetAutoReload() & 1)
{
if(!bin_contents)
{
if(!((GetAutoReload() & 2) && (GetWeaponBin(GetCurWeapon(player)) == jkGetMultiParam(1))))
{
// Try to autoselect and see if the best weapon is an energy cell weapon
autoselect_weapon = AutoSelectWeapon(player, 2);
if((autoselect_weapon == 2) || (autoselect_weapon == 3) || (autoselect_weapon == 12) || (autoselect_weapon == 13))
SelectWeapon(player, autoselect_weapon);
}
}
}
}
Return;
# ........................................................................................
respawn:
PlaySoundThingLocal(respawnsnd, GetSenderRef(), 0.6, 5.0, 10.0, 0);
Return;
end